package enum_learn;

// enum Color
// {
//     RED, GREEN, BLUE;
// }

// class Color
// {
//      public static final Color RED = new Color();
//      public static final Color BLUE = new Color();
//      public static final Color GREEN = new Color();
// }

public class Test
{
    // 执行输出结果
    // public static void main(String[] args)
    // {
    //     // Color c = Color.BLUE;
    //     Color c = Color.BLUE;
    //     System.out.println(c);
    // }

    // public static void main(String[] args) {
    //     for (Color myVar : Color.values()) {
    //       System.out.println(myVar);
    //     }
    //   }

    // public static void main(String[] args) {
    //     Color myVar = Color.BLUE;
    
    //     switch(myVar) {
    //       case RED:
    //         System.out.println("红色");
    //         break;
    //       case GREEN:
    //          System.out.println("绿色");
    //         break;
    //       case BLUE:
    //         System.out.println("蓝色");
    //         break;
    //     }
    //   }


    // public static void main(String[] args)
    // {
    //     // 调用 values()
    //     Color[] arr = Color.values();
 
    //     // 迭代枚举
    //     for (Color col : arr)
    //     {
    //         // 查看索引
    //         System.out.println(col + " at index " + col.ordinal());
    //     }
 
    //     // 使用 valueOf() 返回枚举常量，不存在的会报错 IllegalArgumentException
    //     System.out.println(Color.valueOf("RED"));
    //     // System.out.println(Color.valueOf("WHITE"));
    // }

    enum Color
    {
        RED, GREEN, BLUE;
     
        // 构造函数
        private Color()
        {
            System.out.println("Constructor called for : " + this.toString());
        }
     
        public void colorInfo()
        {
            System.out.println("Universal Color");
        }
    }

    public static void main(String[] args)
    {
        Color c = Color.RED;
        System.out.println(c);
        c.colorInfo();
    }
}
